/**
 * @file   MiraMXSLens.h
 * @author Josep Sabater (jsabaterm@el.ub.edu)
 * @date   January, 2016
 * @version 1.0.0
 * @ingroup QMira
 * @brief  Struct for MXS dimensions.
 *
 * Contains the dimensions of the MXS plate.
 */
#ifndef MIRA_MXS_LENS_H
#define MIRA_MXS_LENS_H

namespace QMira{
    /**
    * @struct MXSLens
    * @brief Dimensions of the MXS plate.
    */
    struct MXSLens{
    public:
        const double plateDiamMM; //!< Diameter (in mm.) of the plate
        const double fovDiamMM; // !< Diameter (in mm.) of the field-of-view.
        const double centerToArmFrameMM; // ! < Distance from plate center to any Arm frame                
        
        /**
         * @brief Constructor for MXS dimensions.
         * @param plateDiamMM diameter of the plate in mm.
         * @param fovDiamMM diameter of the field-of-view in mm.
         * @param centerToArmFrameMM distance from plate center to any arm frame.
         */
        MXSLens(const double plateDiamMM=0,
                const double fovDiamMM=0,
                const double centerToArmFrameMM=0)
            : plateDiamMM(plateDiamMM),
              fovDiamMM(fovDiamMM),
              centerToArmFrameMM(centerToArmFrameMM){}
    };
}

#endif
